Most integrated circuit (IC) designers nowadays use hardware description languages (HDL) to design their new IC products. The most commonly used HDL languages are: VHDL (VHSIC Hardware description language), Verilog, SystemVerilog and SystemC. These languages have been standardized by the TREE (Institute of Electrical and Electronic Engineering) society.
With the advance of the semiconductor process technology, IC chips' density and complexity increase exponentially. To date, an IC design manufactured in the 90-nanometer semiconductor process technology may contain several millions of transistors (e.g., Intel Corporation's Pentium™ microprocessor chips). When IC technology scales down to 60-nanometer or even 45-nanometer, an average IC chip density may reach several billions of transistors. The verification of these large-scale IC chips has become increasingly difficult and time consuming as chip density increases. It is now not uncommon for an IC chip design company to spend over 60% of a new product's development cycle solely on functional and timing verification of the new product, and that figure may increase to over 70% or more in the next few years.
In order to meet time-to-market for new IC products, IC chip design companies have been investing heavily (in the order of millions of dollars per year per design center) on state-of-the-art design verification tools. These include hardware description language (HDL) simulators, formal logic verification tools and static timing analyzers. Although these HDL verification tools have been proven effective in verifying the functional and timing correctness of IC designs, they are all incapable of, and were not designed for, catching one very important category of design error: race logic. Race logic is any circuit construct that will behave differently when evaluated in different orders. Race logic is caused by either oversight or inexperience of IC designers when they craft their IC designs, or when design modules created by different design engineers (or vendors) are stitched together to form the final IC design. If race logic is not caught and corrected in the IC product verification process, it will cause the actual IC chip to depict unpredictable behaviors when in field operations.
As an example of race logic, consider the following mathematical operations:A=c+b; D=A−1;If the above two HDL statements are executed in the order as shown, the two variables A and D will be assigned the new value of (c+b) and (c+b−1), respectively. However, if the above two statements are executed in reverse order, then the value assigned to variable D will be the current value of variable A (which may not be the same as c+b) minus 1, before variable A is assigned the new value of (c+b). Furthermore, if the above two statements are executed concurrently, then the value assigned to D will be unpredictable, if the current value of A is not the same as (c+b).
An IC design typically executes most of its circuit operations in parallel, and HDL languages provide constructs for the user to specify concurrent operations in the HDL source of their IC designs, such as the parallel always block construct in Verilog and SystemVerilog. However, most HDL design verification tools either execute concurrent HDL constructs in tool-specific pre-determined orders (e.g., HDL simulators), or ignore timing dependency of circuit constructs altogether (e.g., formal logic verification tools, RTL analysis tools). Thus, it is uncommon for two IC design tools (e.g., HDL simulators) from two different vendors to yield different verification results on the same IC design and test-bench, because these two tools evaluate the IC chip circuit operations in different orders. The end result of using the current state-of-the-art design verification tools is that they give IC designers a false sense of confidence in the test coverage of their regression test suite. They commit their designs to manufacturing, and only to discover incorrect circuit behaviors when the chips are in manufacturing testing, or worse yet in field operations.
To remedy the lack of handling of race logic by the current HDL design verification tools, a new method has been invented to uncover race logic in IC designs. A new tool, the RaceCheck program, has been developed based on the new race logic audit technologies, The new tool will complement the existing HDL design verification tools (e.g., HDL simulators, formal logic verification tools, and static timing analyzers), to ensure IC product quality, and to reduce overall design verification time and effort, so that IC chip companies can meet time-to-market and improve their competitiveness.
To remedy the lack of handling of race logic by the current HDL design verification tools, a new method has been invented to uncover race logic in IC designs. A new tool, the RaceCheck program, has been developed based on the new race logic audit technologies, The new tool will complement the existing HDL design verification tools (e.g., HDL simulators, formal logic verification tools, and static timing analyzers), to ensure IC product quality, and to reduce overall design verification time and effort, so that IC chip companies can meet time-to-market and improve their competitiveness.
The new race logic audit technologies and the RaceCheck program are described in the Section: Detail Description of the Invention.